(function (factory) {
	if (typeof define === "function" && (define.amd || define.cmd) && !jQuery) {
		// AMD或CMD
		define(["jquery"], factory);
	} else if (typeof module === 'object' && module.exports) {
		// Node/CommonJS
		module.exports = function (root, jQuery) {
			if (jQuery === undefined) {
				if (typeof window !== 'undefined') {
					jQuery = require('jquery');
				} else {
					jQuery = require('jquery')(root);
				}
			}
			factory(jQuery);
			return jQuery;
		};
	} else {
		//Browser globals
		factory(jQuery);
	}
}(function ($) {
	var defaults = {
		dataUrl:'/static/json/list.json', //数据库地址
		crossDomain: false,        //是否开启跨域
		dataType:'json',          //数据库类型:'json'或'jsonp'
		code:0,                   //地区编码
		jsonpCallback:'',        //jsonp事件名
		province:0,               //省份,可以为地区编码或者名称
		city:0,                   //城市,可以为地区编码或者名称
		area:0,                   //地区,可以为地区编码或者名称
		onChange:function(){}    //地区切换时触发,回调函数传入地区数据
	};

	var SelectArea = function(element,options){
	    var opt = $.extend({},options,defaults);
	    var $ele = $(element);

		var ajaxArea=function(ele,parentCode){
			var tag = $(ele).attr("tag");
			var container = $("input[tag='"+tag+"']",$ele);
			$(container).empty();
			$(container).append("<option value=''>请选择</option>");
			$.ajax({
                 url:opt.dataUrl
                ,type:'GET'
                ,crossDomain: opt.crossDomain
                ,dataType:opt.dataType
                ,jsonpCallback:opt.jsonpCallback
                ,success:function(data){
					for(var code in data){
						if(tag =="province" && code % 1e4 == 0){
							$(container).append("<option value='"+code+"'>"+data[code]+"</option>");
						}else if(tag == "city" && code % 1e2 == 0){
							var preCode = code / 1e2;
							parentCode
							$(container).append("<option value='"+code+"'>"+data[code]+"</option>");
						}else{
							$(container).append("<option value='"+code+"'>"+data[code]+"</option>");
                        }

                    }
                }
            });
        };

	    this.init = function(ele){

        };

		this.init();
    }
}));
